package cn.catsdad.service.api;

import cn.catsdad.base.service.api.IBaseCrudService;
import cn.catsdad.dto.DictDTO;
import cn.catsdad.dto.DictDetailDTO;

import java.util.List;
import java.util.Map;

/**
 * 常量service
 *
 * @author xuyonglong
 * @version V1.0 2023/4/24
 */
public interface DictService extends IBaseCrudService<DictDTO, Long> {

    /**
     * 根据编码查询自己
     *
     * @param parentCode 父级编码
     * @return 自己
     */
    List<DictDetailDTO> queryChildrenByDictCode(String parentCode);

    /**
     * 根据父级id查询
     *
     * @param dictCode 父级id
     * @return 常量map
     */
    Map<String, DictDetailDTO> queryChildrenDictMap(String dictCode);

    /**
     * 根据编码批量查询详情
     *
     * @param dictCodes 编码
     * @return 常量详情
     */
    Map<String, Map<String, DictDetailDTO>> queryChildrenByDictCodes(String... dictCodes);

}
